مفاهيم اوليه پروتکل TCP/IP ( بخش چهارم )

آنچه تاکنون گفته شده است :
معرفی پروتکل TCP/IP بهمراه لايه های آن
بررسی پروتکل های موجود در TCP/IP
بررسی برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP
در اين بخش به بررسی Name Resoulation ، خواهيم پرداخت . ماحصل فرآيند فوق، يافتن آدرس IP مپ (map) شده به يک نام است ( در صورتيکه عمليات با موفقيت انجام گردد ) . تمامی اسامی User-friendly ، می بايست به آدرس معادل IP مربوطه مپ تا زمينه ارتباط بين دستگاههای متقاضی در يک شبکه مبتنی بر TCP/IP ، فراهم گردد .
پروتکل TCP/IP کامپيوترهای مبداء و مقصد را از طريق آدرس IP آنان ، شناسائی می نمايد . کاربران ، تمايل بيشتری برای بخاطرسپردن و استفاده از اسامی ، نسبت به اعداد ( آدرس های IP ) را دارند . برای آدرس دهی يک کامپيوتر از انواع متفاوتی نام ( user friendly names ) ، استفاده می گردد. ويندوز 2000 ، بمنظور ذخيره سازی اسامی و آدرس IP معادل آنان ، از رويکردهای متفاوتی استفاده می گردد .با توجه به نوع نام استفاده شده ، از يک فايل ايستا و يا پويا بمنظور ذخيره نمودن اسامی و آدرس های IP مپ شده به آنان استفاده می گردد . برخی از برنامه ها نظير IE و FTP ، قادر به استفاده از آدرس IP و يا نام برای برقراری ارتباط با مقصد مورد نظر می باشند .زمانيکه از نام استفاده می گردد ، قبل از آغاز يک ارتباط از طريق پروتکل TCP/IP ، از فرآيندی با نام Name Resolution استفاده تا آدرس IP کامپيوتر مورد نظر ، مشخص گردد . در صورتيکه آدرس IP ، مشخص شده باشد ( در مقابل مشخص شدن نام ) ،ارتباط بلافاصله برقرارخواهد شد .

دو نوع نام user friendly وجود دارد : اسامی ميزبان (Host) و اسامی NetBIOS . نام ميزبان ، نامی است که به يک آدرس IP کامپيوترنسبت داده شده تا آن را بعنوان يک ميزبان TCP/IP مشخص نمايد. نام ميزبان ، می تواند دارای حداکثر 255 کاراکتر ( حروف الفبائی ، کاراکترهای عددی ، نقطه و hyphens ) باشد . اسامی ميزبان دارای اشکال متفاوتی می باشند . نام مستعار (Alias) و Domain names ، دو نمونه متداول در اين زمينه می باشند. نام مستعار، نامی خاص و مرتبط شده به يک آدرس IP است . (نظير : Tehran ) . يک Domain name ، بمنظور استفاده بر روی اينترنت سازماندهی و از نقطه بعنوان يک جداکننده استفاده می نمايد ( مثلا" Tehran.Citys.com ) .
نام NetBIOS ، يک نام شانزده کاراکتری است که از آن بمنظور مشخص نمودن يک منبع NetBIOS بر روی شبکه استفاده می گردد . از يک نام NetBIOS ، بمنظور مشخص نمودن يک و يا مجموعه ای از کامپيوترها ، استفاده ميگردد .در اين راستا ، صرفا" از پانزده حرف اول آن برای نام و از کاراکتر نهائی بمنظور مشخص نمودن منبع و يا سرويسی که به يک کامپيوتر اشاره می نمايد، استفاده می گردد. نمونه ای از يک منبع NetBIOS ، عنصر File and Print Sharing for Microsoft Networks در شبکه های مبتنی بر ويندوز 2000 است . زمانيکه کامپيوتر فعاليت خود را آغاز می نمايد ، عنصر فوق ، يک نام منحصر بفرد NetBIOS را ريجستر(ثبت) می نمايد . نام ثبت شده شامل نام کامپيوتر و کاراکتری است که بيانگر عنصر ثبت کننده است ( برای در نظر گرفتن نام کامپيوتر از حداکثر پانزده حرف و برای مشخص نمودن عنصر ثبت کننده نام ، از يک حرف ديگر استفاده می گردد ) . درويندوز 2000 ، نام NetBIOS ، می تواند حداکثر پانزده کاراکتر باشد . ويندوز 2000 ، خود نيازی به اين نوع اسامی نداشته و نسخه های قبلی ويندوز نيازمند استفاده از اسامی NetBIOS بمنظور حمايت از قابليت های شبکه ای، دارند.

زمانيکه کاربران يک نام را بمنظور برقراری ارتباط با يک کامپيوتر مقصد ، مشخص می نمايند ، پروتکل TCP/IP همچنان نيازمند يک آدرس IP برای تحقق انتقال اطلاعات است . در اين راستا لازم است که نام کامپيوتر به يک آدرس IP ، مپ گردد. ماحصل عمليات فوق ( mapping ) ، در يک جدول ايستا و يا پويا ذخيره می گردد . در صورتيکه از يک جدول ايستا استفاده گردد ، نتايج مورد نظر در يکی از فايل های Hosts و يا Lmhosts ذخيره می گردند( فايل ها ی فوق، متنی می باشند ) . مهمترين مزيت استفاده از يک جدول ايستا ، امکان سفارشی نمودن آن با توجه به ماهيت فايل ( متنی ) و محل ذخيره سازی ( ذخيره بر روی هر کامپيوتر) آن است. در اين راستا هر يک از کاربران می توانند برای دستيابی به منابعی با فرکانس بالای دستيابی ، به هر ميزان که ضرورت دارد ، entry در جدول فوق ثبت نمايند . بهنگام سازی جداول ايستا ، يکی از چالش های اصلی در اين زمينه بوده و در موارديکه تعداد آدرس های IP مپ شده ، زياد و آدرس های فوق متناوبا" تغيير يابند ، بهنگام سازی جداول ايستا مسائل خاص خود را خواهد داشت .
فايل Hosts . فايل فوق ، يک فايل متنی و شامل آدرس های IP مپ شده به اسامی ميزبان است . فايل فوق، دارای ويژگی های زير است :
• می توان چندين نام ميزبان را به آدرس IP مشابهی نسبت داد .در اين حالت ، امکان مراجعه به يک سرويس دهنده در آدرس IP : 167.91.45.121 از طريق نام حوزه Tehran.Citys.Com و يا نام مستعار Tehran وجود خواهد داشت . در اين راستا ، کاربران می توانند بمنظور مراجعه به سرويس دهنده از نام مستعار Tehran در مقابل نام Domain ، استفاده نمايند .
• هر Entry در فايل فوق ، با توجه به نوع پلات فرم ، نسبت به حروف بزرگ و کوچک حساس خواهد بود . در رابطه با کامپيوترهائی که ويندوز 2000 و يا NT بر روی آنها نصب شده است ، حساسيت فوق ، وجود نخواهد داشت .
فايل LmHosts . فايل فوق ، يک فايل متنی وشامل آدرس IP مپ شده به نام NetBIOS است . بخشی از فايل Lmhosts در ابتدا وارد حافظه شده و به آن اصطلاحا" NetBIOS name Cache می گويند.

مهمترين مزيت جداول پويا ( مسئول ذخيره سازی IP مپ شده ) ، بهنگام سازی اتوماتيک آنان است.در اين راستا ، جداول پويا از دو سرويس استفاده می نمايند : DNS)Domain Name System) و WINS)Windows Internet Neame Service) . سرويس دهنده DNS و WINS عمليات مشابه ای را نظير فايل های Hosts و Lmhosts انجام خواهند داد ( بدون نياز به پيکربندی دستی ) .

DNS ، روشی بمنظور نامگذاری کامپيوترها و منابع شبکه است . شبکه های مبتنی بر TCP/IP ، از بانک اطلاعاتی اسامی DNS ، بمنظور يافتن کامپيوترها و سرويس ها از طريق اسامی User friendly مربوط به Domain names ، استفاده می نمايند. زمانيکه کاربری نام يک Domain را در برنامه ای وارد ( مشخص ) می نمايد، سرويس دهنده DNS ، نام مورد نظر را به IP مربوطه ، map خواهد کرد .ساختار سيستم نامگذاری DNS ، بصورت سلسله مراتبی است ، بدين ترتيب امکان استفاده از سيستم فوق،در شبکه های بزرگی نظير اينترنت وجود خواهد شد . با استفاده از يک سيستم سلسله مراتبی بمنظور ايجاد اسامی Domain ، کامپيوترهائی که اسامی Domain و معادل IP مربوطه را ذخيره می نمايند ، دارای mapping لازم برای صرفا" ناحيه مربوط به خود می باشند . اين نوع از کامپيوترها اصطلاحا" ، سرويس دهنده DNS ، ناميده شده و صرفا" پردازش های لازم برای کامپيوترهائی که در ميدان عملياتی آنان می باشد را انجام خواهند داد . زمانيکه mapping در ناحيه مربوطه تغيير نمايد ، سرويس دهندگان DNS مبتنی بر ويندوز 2000 ، بصورت اتوماتيک عمليات بهنگام سازی را انجام خواهند داد .

WINS ، يک بانک اطلاعاتی توزيعی را برای ثبت mapping پويای اسامی NetBIOS استفاده شده در شبکه ، ارائه می نمايد . WINS ، اسامی NetBIOS را به آدرس های IP مپ و اين امکان را فراهم خواهد آورد که اسامی NetBIOS در طول روترها ، قابل استفاده باشند .

Name Resoulation ، فرآيندی است که بر اساس آن مشکل يک نام برطرف و يا به يک آدرس IP مپ می گردد . زمانيکه کاربری يک نام را در يک برنامه ، وارد می نمايد، برنامه مشخص می نمايد که نام فوق يک ميزبان و يا يک نام NetBIOS است. برنامه های فعلی در ويندوز 2000 ، از فرآيند host name resolution ، استفاده می نمايند ولی برخی از برنامه های قديمی تر نظير برنامه هائی که مختص ويندوز NT و يا ويندوز 95 , 98 طراحی شده اند ، همچنان از اسامی NetBIOS استفاده می نمايند. در صورتيکه فرآيند فوق ، با موفقيت همراه نگردد ، برنامه متقاضی قادر به برقراری ارتباط با مقصد مورد نظر خود نخواهد بود. در صورتيکه از يک آدرس IP استفاده می نمائيد ، name resolution نياز نخواهد بود .

آدرس IP اسامی ميزبان ( Host Names) ، با استفاده از فايل Host و يا بکمک سرويس دهنده DNS ، مشخص خواهد شد . فرآيند فوق ، بصورت زير انجام خواهد شد .
• کامپيوتر A دستوری را نظير FTP بهمراه نام کامپيوتر ميزبان B ، وارد می نمايد .
• کامپيوتر A ، بررسی می نمايد که آيا نام مشخص شده با نام ميزبان محلی مطابقت می نمايد.
• در صورتيکه نام مشخص شده با نام ميزبان محلی مطابقت ننمايد ، کامپيوتر A ، فايل ميزبانان خود را (Hosts File ) بمنظور آگاهی از کامپيوتر ميزبان B ، جستجو می نمايد. در صورتيکه نام کامپيوتر ميزبان پيدا گردد ، آدرس IP مپ شده به آن ، برگردانده خواهد شد . پس از مشخص شدن آدرس IP ، زمينه ارتباط با کامپيوتر مورد نظر فراهم خواهد شد .
• اگر کامپيوتر A ، نام ميزبان کامپيوتر B را پيدا ننمايد ، در ادامه يک query برای سرويس دهنده DNS ارسال می گردد. در صورتيکه نام ميزبان پيدا گردد ، آدرس IP نسبت داده شده به آن مشخص خواهد شد. پس از مشخص شدن آدرس IP ، زمينه ارتباط با کامپيوتر مورد نظر فراهم خواهد شد .
• درصورتيکه نام کامپيوتر ميزبان در سرويس دهنده DNS پيدا نگردد ، ويندوز 2000 ، Cache مربوط به اسامی NetBIOS را بررسی می نمايد .اين امر بدين علت است که ويندوز 2000 ، با NetBIOS name بمنزله host name ، رفتار می نمايد.
• در صورتيکه Cache فوق ، شامل نام ميزبان مورد نظر نباشد ، يک query برای سرويس دهنده WINS ارسال می گردد .
• در صورتيکه سرويس دهنده WINS قادر به حل مشکل نام نباشد ، يک پيام Broadcast بر روی شبکه ارسال می گردد.
• در صورتيکه ميزبانی به پيام منتشر شده پاسخ ندهد ، فايل Lmhosts بمنظور نام ميزبان( NetBIOS) ، بررسی خواهد شد.

بصورت پيش فرض ، اسامی NetBIOS بر روی يک شبکه مبتنی بر TCP/IP کار نخواهند کرد . ويندوز 2000 ، امکان برقراری ارتباط در شبکه های مبتنی بر TCP/IP را برای سرويس گيرندگان NetBIOS ، از طريق پروتکل NetBT ، فراهم می نمايد . NetBT ، از کلمات NetBIOS over TCP/IP اقتباس شده است . پروتکل فوق ، امکان برقراری ارتباط را برای برنامه های مبتنی بر NetBIOS ، توسط TCP/IP و از طريق ترجمه نام NetBIOS به يک آدرس IP ، فراهم می نمايد . درصورتيکه سرويس دهنده WINS برای استفاده ، پيکربندی شده باشد ، فرآيند NetBIOS Name Resolution ، بصورت زير خواهد بود :
• کامپيوتر A ، دستوری نظير Net use را بهمراه نام NetBIOS کامپيوتر B ، وارد می نمايد .
• کامپيوتر A ، بررسی می نمايد که آيا نام مشخص شده در Cache اسامی NetBIOS ، موجود است .
• در صورتيکه نام موجود نباشد ، کامپيوتر A يک query را برای سرويس دهنده WINS ارسال می دارد.
• در صورتيکه سرويس دهنده WINS قادر به يافتن نام نباشد ، کامپيوتر A از Broadcast در شبکه ، استفاده می نمايد .
• در صورتيکه Broadcast ، قادر به حل مشکل نام نگردد ، کامپيوتر A ، فايل Lmhosts را بررسی می نمايد.
• در صورتيکه روش های NetBIOS فوق ، قادر به حل مشکل نام نگردند ، کامپيوتر A ، فايل Hosts را بررسی می نمايد.
• در نهايت ، کامپيوتر A ، يک query برای يک سرويس دهنده DNS ارسال می نمايد .
در بخش پنجم اين مقاله به بررسی نحوه انتقال اطلاعات خواهيم پرداخت .